package net.maku.framework.IPLimiter.annotations;

/**
 * @projectName: maku-boot
 * @package: net.maku.framework.IPLimiter.annotations
 * @className: IpLimiter
 * @author: 字杰
 * @description: TODO
 * @date: 2024/2/27 12:50
 * @version: 1.0
 */
import java.lang.annotation.*;

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface IpLimiter {
    /**
     * 放行ip
     */
    String[] ipAdress() default {""};
    /**
     * 单位时间限制通过请求数
     */
    long limit() default 10;
    /**
     * 单位时间，单位秒
     */
    long time() default 1;
    /**
     * 达到限流提示语
     */
    String message();

    /**
     * 是否锁住IP的同时锁住URI
     */
    boolean lockUri() default false;
}
